package com.jt.controller;

import com.jt.service.FileService;
import com.jt.vo.ImageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;


@RestController
public class FileController {
    @Autowired
    private FileService fileService;
    /**
     * MultipartFile接口的作用就是优化了文件上传
     * 1.文件上传的位置    D:\JavaDevelop\Images
     * 2.判断目录是否存在
     * 3.利用api实现文件上传
     * @param fileImage
     * @return
     */
    @RequestMapping("/file")
    public String file(MultipartFile fileImage){

        String fileDir = "D:/JavaDevelop/Images";
        File file = new File(fileDir);
        if (!file.exists()){//判断文件是否存在，不存在创建
            file.mkdirs();
        }
        //获取文件信息，文件名+扩展名
        String fileName = fileImage.getOriginalFilename();
        //将文件的整体封装为对象，文件路径/文件名称
        File imageFile = new File(fileDir + "/" + fileName);
        //实现文件上传，将文件字节数据传出到指定位置
        try {
            fileImage.transferTo(imageFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "文件上传成功";
    }
    /**
     * 业务：实现商品的文件上传操作
     * url地址：http://localhost:8091/pic/upload
     * 参数：uploadFile    注意字母大小写
     * 返回值：ImageVO对象
     */
    @RequestMapping("/pic/upload")
    public ImageVO upload(MultipartFile uploadFile){
        return fileService.upload(uploadFile);

    }
}
